package com.ow.dva.module.permission.service;

import com.ow.dva.module.permission.entity.AccountRole;
import com.ow.dva.module.base.service.DvaService;
import com.ow.dva.module.base.entity.param.DvaPage;
import com.ow.dva.module.permission.entity.Role;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 用户 <->角色 服务类
 * </p>
 *
 * @author 高祥
 * @since 2020-01-09
 * @version V1.0
 */
public interface AccountRoleService extends DvaService<AccountRole> {

    /**
     * 给帐号重新授权角色信息
     * 创建时间：2020-03-23 高祥
     * 修改时间：2020-03-23 高祥 加注释
     * 修改时间：
     */
    void changeRole(String accountId, List<String> roleId);

    /**
    * 分页获取管理员数据列表信息
    * 创建时间：2020-01-09 高祥
    * 修改时间：2020-01-09 高祥 加注释
    * 修改时间：
    * @param page 分页参数
    * @param param 条件参数
    * @return 带分页的数据集
    */
    DvaPage<AccountRole> page(DvaPage<AccountRole> page, Map<String,Object> param);

    /**
     * 删除全部关于指定 authorityId 的数据
     * 创建时间：2020-01-13 高祥
     * 修改时间：2020-01-13 高祥 加注释
     * 修改时间：
     * @param accountId 用户ID
     * @return 更改的行数
     */
    int deleteByAccountId(String accountId);

    /**
     * 删除全部关于指定 roleId 的数据
     * 创建时间：2020-01-13 高祥
     * 修改时间：2020-01-13 高祥 加注释
     * 修改时间：
     * @param roleId 用户ID
     * @return 更改的行数
     */
    int deleteByRoleId(String roleId);
}
